package com.huawang.mdesign.model.service.util.reqif;

import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
import lombok.Getter;
import lombok.Setter;

/**
 * Base class for classes that may restrict user access to their information.
 *
 * @author xdl
 * @since 2023-04-04
 */
@Getter
@Setter
public abstract class AbstractAccessControlledElement extends Identifiable {

    /**
     * True means that the element’s contents may be modified by the user of a tool containing the element.
     * False or leaving isEditable out means that the element is read-only to the user of a tool containing the element.
     */
    @XStreamAlias(ReqIFConstants.IS_EDITABLE)
    @XStreamAsAttribute
    private Boolean isEditable;
}
